<?php
/**
 * Nweb Framework
 *
 * This script is protected by copyright. It's use, copying, modification
 * and distribution without written consent of the author is prohibited.
 *
 * @category    source
 * @package     pl.nweb.framework.response
 * @author      Krzysztof Kardasz <krzysztof.kardasz@gmail.com>
 * @copyright   Copyright (c) 2011 Krzysztof Kardasz
 * @license     http://www.gnu.org/licenses/lgpl-3.0.txt  GNU Lesser General Public
 * @version     3.0 $Id: response.php 463 2012-01-13 10:13:34Z krzysztof.kardasz $
 * @link        http://code.google.com/p/nweb-framework/
 * @link        http://framework.nweb.pl
 */

namespace pl\nweb\framework;

/**
 * Odpowiedź
 *
 * @category    source
 * @package     pl.nweb.framework.response
 * @author      Krzysztof Kardasz <krzysztof.kardasz@gmail.com>
 * @copyright   Copyright (c) 2011 Krzysztof Kardasz
 * @version     3.0 $Id: response.php 463 2012-01-13 10:13:34Z krzysztof.kardasz $
 */
class Response
{
    /**
     * Ustawienia
     *
     * @var array
     */
    private $_options = array();

    /**
     * Konstruktor
     *
     * @param array $options parametry
     */
    public function __construct (array $options = array())
    {
        if(!empty($options)) {
            $this->_options = $options;
        }
    }

    /**
     * Definiowanie opcji
     *
     * @param string|array $option nazwa opcji lub tablica opcji
     * @param null|string $value wartość opcji w przypadku podania nazwy dla pierwszego argumentu
     * @return void
     */
    public function setOption ($option, $value = null)
    {
        if(is_array($option)) {
            $this->_options = array_merge($this->_options, $option);
        } else {
            $this->_options[$option] = $value;
        }
    }

    /**
     * Zwraca wartość opcji
     *
     * @param string $option nazwa opcji
     * @param mixed $default domyślna wartość
     * @return mixed
     */
    public function getOption ($option, $default = null)
    {
        if(isset($this->_options[$option])) {
            return $this->_options[$option];
        }
        return $default;
    }

    /**
     * Wysyła odpowiedź aplikacji
     *
     * @return void
     */
    public function send ()
    {}
}